#ifndef __IROLE_H_238902__
#define __IROLE_H_238902__

enum E_ROLE_TYPE
{
	E_USER_SOLDIER = 0x10
	, E_USER_MAGE = 0x11
	, E_USER_PROTOSS = 0x12
	, E_MONSTER = 0x20
};

class IRole
{
public:
	IRole(){}
	virtual ~IRole(){}
	virtual int Attack(IRole* pTarget, int nDamage) = 0;
	virtual int MagicAttack(IRole* pTarget, int idMagic) = 0;
	virtual int BeAttack(IRole* pAttacker, int nDamage, int idMagic) = 0;
	virtual bool IsAlive() = 0;
	virtual int GetRoleType() = 0; 
	virtual unsigned int GetID() = 0;
	virtual void OnTimer() = 0;
};

#endif //__IROLE_H_238902__